import ElMessage from '@/utils/message';

export default {
  methods: {
    handleValidate() {
      const fields = this.getFields();
      for (let i = 0; i < fields.length; i++) {
        if (fields[i].children) {
          const children = fields[i].children;
          for (let j = 0; j < children.length; j++) {
            // 必填
            if (!children[j].optional && !children[j].restRatio) {
              if (children[j].type === 'checkbox') {
                if (children[j].appendLabelType) {
                  // 最长保留期限(v3.6.4文案已改为【备注】)，没勾需要必填
                  if (!this.accountInfo[fields[i].key][children[j].key].isConfirm && !this.accountInfo[fields[i].key][children[j].key].timeLimit) {
                    console.log(children[j].label);
                    ElMessage.warning('账号上刊所需信息未填写完整，请点击编辑资源按钮，补充信息再发起上刊申请！');
                    throw new Error('中断');
                  }
                } else {
                  // 其他字段
                  if (!this.accountInfo[fields[i].key][children[j].key].isConfirm && !this.accountInfo[fields[i].key][children[j].key].cost) {
                    console.log(children[j].label);
                    ElMessage.warning('账号上刊所需信息未填写完整，请点击编辑资源按钮，补充信息再发起上刊申请！');
                    throw new Error('中断');
                  }
                }
              } else if (children[j].type === 'cost') {
                // 次月非报备成本
                if (this.accountInfo[fields[i].key][children[j].key].value !== 0 && !this.accountInfo[fields[i].key][children[j].key].value) {
                  ElMessage.warning('账号上刊所需信息未填写完整，请点击编辑资源按钮，补充信息再发起上刊申请！');
                  console.log(children[j].label);
                  throw new Error('中断');
                }
              } else if (this.accountInfo[fields[i].key][children[j].key] !== 0 && this.accountInfo[fields[i].key][children[j].key] !== false && !this.accountInfo[fields[i].key][children[j].key]) {
                ElMessage.warning('账号上刊所需信息未填写完整，请点击编辑资源按钮，补充信息再发起上刊申请！');
                console.log(children[j].label);
                throw new Error('中断');
              }
            }
          }
        }
      }
    }
  }
};
